iT邦幫忙

2022 iThome 鐵人賽

DAY 13
0
自我挑戰組

Ruby OOP to Oops !n 30系列 第 13

IT 邦鐵人賽 Day 13 - Prototype

  • 分享至 

  • xImage
  •  

原型模式(Prototype)

目的:

制定可用原型個體生成的物件類型,爾後只須複製此原型即可生成新物件

結構:

https://ithelp.ithome.com.tw/upload/images/20220928/201510943rrsJBzBX8.png

結構成員:

  1. Prototype:自我複製的介面
  2. ConcretePrototype:實作自我複製到操作

使用時機:

  1. 如果很懶得重新創一個物件時,可以使用複製的方式:當物件的創立比複製來得更麻煩時
  2. 其中一種的安全性設置:例如不想讓任何人更動原始資料內容,就可以展現複製的那一個物件即可
  3. 商業邏輯的實現:像是同一個人事物,需要模擬很多狀況時,就會複製主要物件進行模擬

個人看法:

老實說,這個模式還沒有任何應用的想法,在工作實務上曾因客戶需求,而轉移資料
但實際操作則是利用複製的方法dup,將複製物件與其他主物件形成關聯
所以在此我先不展現程式碼的範例
等我更近一步地想到應用範例,再來跟大家分享


上一篇
IT 邦鐵人賽 Day 12 - Factory Method
下一篇
IT 邦鐵人賽 Day 14 - Singleton
系列文
Ruby OOP to Oops !n 3020
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Jean_HSU
iT邦新手 5 級 ‧ 2022-10-03 22:02:05

喳喳

我要留言

立即登入留言